import java.util.ArrayList;
import java.util.Scanner;


//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
public class Main {
    //修改Data类的定义
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextInt()) {
            int x = scanner.nextInt();
            int y = scanner.nextInt();
            Data data = new Data(x, y);
            System.out.println(data.getX() + data.getY());
        }
    }
   static final int MOD =1000000007;
    //noob40 二维斐波那契数列
    public static void noob_40(){

        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();

        //建立一个二维数组，用来存储这些数值
        long[][] dp = new long[n+1][m+1];

        //开始循环填充数组数据
        for (int i = 1; i <= n ; i++) {
            dp[i][1] = 1;
        }
        for (int i = 1; i <= m ; i++) {
            dp[1][i] = 1;
        }
        for (int i = 2; i <= n ; i++) {
            for (int j = 2; j <= m ; j++) {
                dp[i][j] =  (dp[i-1][j]+dp[i][j-1])%MOD;
            }
        }
        System.out.println(dp[n][m]);
    }

    //noob41 神秘石像的镜像序列
    public static void noob41(){
        Scanner sc = new Scanner(System.in);
        ArrayList arr = new ArrayList();
        int n ;
        while ((n = sc.nextInt()) != 0) {
            arr.add(n);
        }

        for (int i = arr.size()-1; i >= 0 ; i--) {
            System.out.print(arr.get(i));
            if (i > 0){
                System.out.print(" ");
            }
        }
    }



    //noob42 左侧严格小于计数
    public static void noob42(){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] arr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }

        for (int i = 0; i < n; i++) {
            System.out.printf("%d",noob42_1(arr,i));
        }
    }
    public static int noob42_1(int[] arr,int i ){
        int count = 0;
        for (int j = 0; j < i; j++) {
            if (arr[j] < arr[i]){
                count++;
            }
        }
        return count;
    }


    //noob43 牛牛的数学作业
    public static void noob43(){
        Scanner sc = new Scanner(System.in);
        //试卷数量
        int i = sc.nextInt();

        for (int j = 0; j < i; j++) {
            //有第i张试卷有多少个分数
            int m = sc.nextInt();
            //第i张试卷的数据
            int[] arr = new int[m];
            int max = Integer.MIN_VALUE;
            int min = Integer.MAX_VALUE;
            int sum = 0;
            for (int k = 0; k < m; k++) {
                arr[k] = sc.nextInt();
                sum += arr[k];
                if (arr[k] > max){
                    max = arr[k];
                }
                if (arr[k] < min) {
                    min = arr[k];
                }
            }
            //极差
            int jc = max - min;
            //平均值
            double pjun = (double)sum/m;
            //方差
            double fc = 0;
            for (int k : arr) {
                fc += Math.pow(k-pjun,2);
            }
            double f_c = fc/m;
            System.out.printf("%d %.3f",jc,f_c);
            System.out.println();
        }
    }

}